﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Business_Entity;
using Business_Logic;
namespace PetSoft.GUI.Configuracion
{
    public partial class GUIBuscarEmpleado : Form
    {
        
        private BLTienda tiendaBL;
        
        
        private string idEmpleado;


        private string empleado;

        public string Empleado
        {
            get { return empleado; }
        }



        
        public string IdEmpleado
        {
            get { return idEmpleado; }
        }



        
        
        
        
        
        private bool acepto;

       
        
        
        public bool Acepto
        {
            get { return acepto; }
        }
        
        
        
        
        
        
        
        public GUIBuscarEmpleado(BLTienda tiendaBL)
        {
            InitializeComponent();
            this.tiendaBL = tiendaBL;
            this.respuestaLBL.Hide();
            this.idEmpleado = "";
            this.acepto = false;
            this.idTB.KeyPress += new KeyPressEventHandler(Utils.SoloNumerosTB);
            this.nombreTB.KeyPress += new KeyPressEventHandler(Utils.SoloLetrasNumerosTB);
            this.apellMatTB.KeyPress += new KeyPressEventHandler(Utils.SoloLetrasNumerosTB);
            this.apellPatTB.KeyPress += new KeyPressEventHandler(Utils.SoloLetrasNumerosTB);
            this.dniTB.KeyPress += new KeyPressEventHandler(Utils.SoloLetrasNumerosTB);
        }








        private void buscarBTN_Click(object sender, EventArgs e)
        {
            this.empleadoDGV.Rows.Clear();
            int error = 0;
            string mensajeError = "";
            BEEmpleado empleadoBE = new BEEmpleado();
            
            if (this.idTB.Text != "") empleadoBE.IdEmpleado = Convert.ToInt32(this.idTB.Text);
            else empleadoBE.IdEmpleado = -1;
            empleadoBE.Nombre = this.nombreTB.Text;
            empleadoBE.ApPaterno = this.apellPatTB.Text;
            empleadoBE.ApMaterno = this.apellMatTB.Text;
            empleadoBE.DocIdentidad = this.dniTB.Text;
            List<BEEmpleado> empleadoLST = this.tiendaBL.buscarEmpleado(empleadoBE, ref error, ref  mensajeError);
            for (int i = 0; i < empleadoLST.Count; ++i)
            {
                object[] fila = new object[]{empleadoLST[i].IdEmpleado,empleadoLST[i].Nombre, empleadoLST[i].ApPaterno,
                empleadoLST[i].ApMaterno, empleadoLST[i].DocIdentidad};
                this.empleadoDGV.Rows.Add(fila);
            }
            if (error == 0)
            {
                string respuesta;
                if (empleadoLST.Count == 0) respuesta = "No se ha encontrado ningun empleado.";
                else if (empleadoLST.Count == 1) respuesta = "Se ha encontrado 1 empleado ";
                else respuesta = "Se ha encontrado " + empleadoLST.Count.ToString() + " empleados.";
                this.respuestaLBL.Text = respuesta;
                this.respuestaLBL.Show();
            }
            else MessageBox.Show(error.ToString() + " - " + mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

        
        
        
        
        
        
        
        private void limpiarBTN_Click(object sender, EventArgs e)
        {
            this.empleadoDGV.Rows.Clear();
            this.idTB.Clear();
            this.nombreTB.Clear();
            this.apellPatTB.Clear();
            this.apellMatTB.Clear();
            this.dniTB.Clear();
            this.respuestaLBL.Hide();
        }

        
        
        
        
        
        
        private void aceptarBTN_Click(object sender, EventArgs e)
        {
            if (this.empleadoDGV.SelectedRows.Count != 0)
            {
                this.idEmpleado = Convert.ToString(this.empleadoDGV.SelectedRows[0].Cells[0].Value);
                this.empleado = Convert.ToString(this.empleadoDGV.SelectedRows[0].Cells[1].Value) + " " +
                        Convert.ToString(this.empleadoDGV.SelectedRows[0].Cells[2].Value); 
            }
            this.acepto = true;
            this.Close();
        }

        
        
        
        
        
        
        
        
        private void cancelarBTN_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}
